<?php

namespace fastphp\facade;

use fastphp\Facade;

/**
 * Request门面类 - 提供对请求管理类的静态方法访问
 * 
 * 该门面类通过静态方法的形式，提供对Request类所有方法的访问能力，
 * 无需实例化即可便捷地获取和处理HTTP请求信息。
 * 
 * @method static bool isGet() 判断是否为GET请求
 * @method static bool isPost() 判断是否为POST请求
 * @method static bool isDelete() 判断是否为DELETE请求
 * @method static bool isPut() 判断是否为PUT请求
 * @method static bool isAjax() 判断是否为AJAX请求
 * @method static mixed get(string|null $name = null, mixed $default = null) 获取GET参数
 * @method static mixed post(string|null $name = null, mixed $default = null) 获取POST参数
 * @method static mixed put(string|null $name = null, mixed $default = null) 获取PUT参数
 * @method static mixed delete(string|null $name = null, mixed $default = null) 获取DELETE参数
 * @method static \fastphp\util\File|null file(string|null $name = null) 获取上传的文件
 * @method static mixed param(string|null $name = null, mixed $default = null) 获取请求参数（自动适配请求方法）
 * @method static string getUri() 获取请求URI
 * @method static string getPath() 获取请求路径（不包含查询字符串）
 * @method static array|string|null header(string|null $name = null) 获取请求头信息
 * @method static string getClientIp() 获取客户端IP地址
 * @method static mixed getAttribute(string $key, $default = null) 获取自定义属性
 */
class Request extends Facade
{
    /**
     * 获取容器中对应服务的键名
     * 
     * @return string 容器中的服务键名
     */
    protected static function getFacadeAccessor()
    {
        return 'request';
    }
}